package com.ruoyi.edit.mapper;

import java.util.List;

import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.edit.domain.CoursePackage;
import com.ruoyi.edit.domain.VO.CoursePackageVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 课程包Mapper接口
 * 
 * @author qiufeng
 * @date 2022-03-10
 */
public interface CoursePackageMapper 
{
    /**
     * 查询课程包
     * 
     * @param id 课程包主键
     * @return 课程包
     */
    @DataSource(value = DataSourceType.SLAVE)
    public CoursePackage selectCoursePackageById(String id);

    /**
     * 查询课程包列表
     * 
     * @param coursePackage 课程包
     * @return 课程包集合
     */
    @DataSource(value = DataSourceType.SLAVE)
    public List<CoursePackage> selectCoursePackageList(CoursePackage coursePackage);

    /**
     * 新增课程包
     * 
     * @param coursePackage 课程包
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    public int insertCoursePackage(CoursePackage coursePackage);

    /**
     * 修改课程包
     * 
     * @param coursePackage 课程包
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    public int updateCoursePackage(CoursePackage coursePackage);

    /**
     * 删除课程包
     * 
     * @param id 课程包主键
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    public int deleteCoursePackageById(String id);

    /**
     * 批量删除课程包
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    public int deleteCoursePackageByIds(String[] ids);


    @DataSource(value = DataSourceType.SLAVE)
    @Select("select *  from tc_course_package  where name = #{name} and dimensions = #{dimensions} and price = #{price} ")
    CoursePackage findByNameAndDimensionsAndPrice(@Param("name")String name, @Param("dimensions")String dimensions, @Param("price")Long price);


    @DataSource(value = DataSourceType.SLAVE)
    public List<CoursePackageVO> selectCourseNameList(String name);
}
